{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Predict when will the bull market of 2021 end by LPPL \n",
    "\n",
    "What is LPPL：\n",
    "\n",
    "It is a mathematic model called Log-Periodic Power Law. It is aimed to forecast the stock market disaster. I studied this model because the stock index has rocketed since last October and I am afraid of stock slump like 2008. \n",
    "\n",
    "**Warning: This project is just for fun and studying the minimize function of scipy. It is not an investment advice. There are always risks and chances in stock market.** \n",
    "\n",
    "\n",
    "The original equation is:\n",
    "\n",
    "$E[\\text{ln }p(t)] = A + B(t_c - t)^m + C(t_c - t)^m cos(\\omega ln(t_c - t) - \\phi) \\tag{1}$\n",
    "\n",
    "|3 linear elements|4 non-linear elements|\n",
    "|--|--|\n",
    "|A|t_c\n",
    "|B|m\n",
    "|C|\\omega\n",
    "| |\\phi\n",
    "\n",
    "\n",
    "Then we can use change of triangle variable, $C_1 = C cos\\phi, C_2 = C sin\\phi$ \n",
    "\n",
    "And the equation(1) will become:\n",
    "\n",
    "$$E[\\text{ln }p(t)] = A + (t_c - t)^m\\bigl(B + C_1\\text{cos}(\\omega\\text{ ln}(t_c - t)) + C_2\\text{sin}(\\omega\\text{ ln}(t_c - t))\\bigr)\\tag{2}$$\n",
    "\n",
    "\n",
    "|4 linear elements|3 non-linear elements|\n",
    "|--|--|\n",
    "|A|t_c\n",
    "|B|m\n",
    "|C_1|\\omega\n",
    "|C_2|\n",
    "\n",
    "Then the aim is to minimize the following summation \n",
    "\n",
    "\n",
    "$$F(t_c,m,\\omega,A,B,C_1,C_2) = \\sum_{i=1}^{N} \\left[\\text{ln }p(\\tau_{i}) - A - B(t_c-\\tau_{i})^{m} - C_1(t_c-\\tau_{i})^{m} cos(\\omega ln(t_c-\\tau_{i})) - C_2(t_c-\\tau_{i})^{m} sin(\\omega ln(t_c-\\tau_{i}))\\right]^{2} \\tag{3}$$\n",
    "\n",
    "\n",
    "$$(\\{\\hat{A},\\hat{B},\\hat{C_1},\\hat{C_2}\\} = \\text{arg} \\min_{A,B,C_1,C_2} F(t_c,m,\\omega,A,B,C_1,C_2))$$\n",
    "\n",
    "The minimize problem can be transferred to solve equations\n",
    "\n",
    "the detail of the transfering can be see in https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2693634 and https://github.com/Joshwani/learning-lppl\n",
    "\n",
    "$$\n",
    "\\begin{pmatrix}\n",
    "        N & \\sum{f_i} & \\sum{g_i} & \\sum{h_i}\\\\ \n",
    "        \\sum{f_i} & \\sum{f_i^{2}} & \\sum{f_i g_i} & \\sum{f_i h_i}\\\\\n",
    "        \\sum{g_i} & \\sum{f_i g_i} & \\sum{g_i^{2}} & \\sum{g_i h_i}\\\\\n",
    "        \\sum{h_i} & \\sum{f_i h_i} & \\sum{g_i h_i} & \\sum{h_i^{2}}\\\\\n",
    "    \\end{pmatrix}\n",
    "    \\begin{pmatrix}\n",
    "        \\hat{A}\\\\ \n",
    "        \\hat{B}\\\\\n",
    "        \\hat{C_1}\\\\\n",
    "        \\hat{C_2}\\\\\n",
    "    \\end{pmatrix}\n",
    "    =\n",
    "    \\begin{pmatrix}\n",
    "        \\sum{y_i}\\\\ \n",
    "        \\sum{y_i f_i}\\\\\n",
    "        \\sum{y_i g_i}\\\\\n",
    "        \\sum{y_i h_i}\\\\\n",
    "    \\end{pmatrix}\n",
    "    \\\n",
    "$$\n",
    "\n",
    "where \n",
    "$$y_i = \\text{ln } p(\\tau_i)$$  \n",
    "$$f_i = (t_c - \\tau_i)^{m} $$ \n",
    "$$g_i = (t_c - \\tau_i)^{m} cos(\\omega \\text{ln }(t_c-\\tau_i))  $$\n",
    "$$h_i = (t_c - \\tau_i)^{m} sin(\\omega \\text{ln }(t_c-\\tau_i))$$\n",
    "\n",
    "\n",
    "Reference ：\n",
    "\n",
    "Everything You Always Wanted to Know about Log Periodic Power Laws for Bubble Modelling but Were Afraid to Ask：https://kr.mathworks.com/matlabcentral/answers/uploaded_files/12237/frolova-paper-15.pdf\n",
    "\n",
    "Real-Time Prediction and Post-Mortem Analysis of the Shanghai 2015 Stock Market Bubble and Crash\n",
    "\n",
    "https://github.com/Joshwani/learning-lppl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### The data can be downloaded from 163.com  \n",
    "\n",
    "http://quotes.money.163.com/trade/lsjysj_zhishu_399006.html?year=2021&season=1   \n",
    "\n",
    "just replace the number 399006 to the stock number you are interested\n",
    "\n",
    "import some necessary package"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import random\n",
    "import datetime\n",
    "import itertools\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy.optimize import minimize\n",
    "from scipy import linalg\n",
    "import seaborn as sns\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reading the csv file and its size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(4626, 11)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>股票代码</th>\n",
       "      <th>名称</th>\n",
       "      <th>收盘价</th>\n",
       "      <th>最高价</th>\n",
       "      <th>最低价</th>\n",
       "      <th>开盘价</th>\n",
       "      <th>前收盘</th>\n",
       "      <th>涨跌额</th>\n",
       "      <th>涨跌幅</th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交金额</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>日期</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2021/1/25</th>\n",
       "      <td>'399300</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>5625.9232</td>\n",
       "      <td>5655.4795</td>\n",
       "      <td>5543.2663</td>\n",
       "      <td>5564.1237</td>\n",
       "      <td>5569.776</td>\n",
       "      <td>56.1472</td>\n",
       "      <td>1.0081</td>\n",
       "      <td>19704701900</td>\n",
       "      <td>5.080000e+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021/1/22</th>\n",
       "      <td>'399300</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>5569.7760</td>\n",
       "      <td>5573.6594</td>\n",
       "      <td>5513.8769</td>\n",
       "      <td>5562.3790</td>\n",
       "      <td>5564.9693</td>\n",
       "      <td>4.8067</td>\n",
       "      <td>0.0864</td>\n",
       "      <td>19930002000</td>\n",
       "      <td>4.570000e+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021/1/21</th>\n",
       "      <td>'399300</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>5564.9693</td>\n",
       "      <td>5593.1058</td>\n",
       "      <td>5490.5626</td>\n",
       "      <td>5492.9587</td>\n",
       "      <td>5476.4336</td>\n",
       "      <td>88.5357</td>\n",
       "      <td>1.6167</td>\n",
       "      <td>20995019700</td>\n",
       "      <td>4.530000e+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021/1/20</th>\n",
       "      <td>'399300</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>5476.4336</td>\n",
       "      <td>5496.0493</td>\n",
       "      <td>5426.5357</td>\n",
       "      <td>5439.9111</td>\n",
       "      <td>5437.5234</td>\n",
       "      <td>38.9102</td>\n",
       "      <td>0.7156</td>\n",
       "      <td>17091326000</td>\n",
       "      <td>3.740000e+11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021/1/19</th>\n",
       "      <td>'399300</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>5437.5234</td>\n",
       "      <td>5532.4793</td>\n",
       "      <td>5415.7166</td>\n",
       "      <td>5525.9690</td>\n",
       "      <td>5518.5205</td>\n",
       "      <td>-80.9971</td>\n",
       "      <td>-1.4677</td>\n",
       "      <td>21104342500</td>\n",
       "      <td>4.330000e+11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              股票代码     名称        收盘价        最高价        最低价        开盘价  \\\n",
       "日期                                                                      \n",
       "2021/1/25  '399300  沪深300  5625.9232  5655.4795  5543.2663  5564.1237   \n",
       "2021/1/22  '399300  沪深300  5569.7760  5573.6594  5513.8769  5562.3790   \n",
       "2021/1/21  '399300  沪深300  5564.9693  5593.1058  5490.5626  5492.9587   \n",
       "2021/1/20  '399300  沪深300  5476.4336  5496.0493  5426.5357  5439.9111   \n",
       "2021/1/19  '399300  沪深300  5437.5234  5532.4793  5415.7166  5525.9690   \n",
       "\n",
       "                 前收盘       涨跌额      涨跌幅          成交量          成交金额  \n",
       "日期                                                                  \n",
       "2021/1/25   5569.776   56.1472   1.0081  19704701900  5.080000e+11  \n",
       "2021/1/22  5564.9693    4.8067   0.0864  19930002000  4.570000e+11  \n",
       "2021/1/21  5476.4336   88.5357   1.6167  20995019700  4.530000e+11  \n",
       "2021/1/20  5437.5234   38.9102   0.7156  17091326000  3.740000e+11  \n",
       "2021/1/19  5518.5205  -80.9971  -1.4677  21104342500  4.330000e+11  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_300 = pd.read_csv('风险预测/399300.csv',index_col=\"日期\",encoding='GBK')\n",
    "print(np.shape(df_300))\n",
    "df_300.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date = df_300.index\n",
    "tLen = len(data)\n",
    "time = np.linspace(0, tLen-1, tLen)\n",
    "close = [df_300[\"收盘价\"][i] for i in range(len(df_300[\"收盘价\"]))]\n",
    "Series_300 = [time, close]\n",
    "len(Series_300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### The element of the equation\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "def yi(): #y_i\n",
    "    return [np.log(p) for p in Series_300[1]]\n",
    "\n",
    "def fi(tc, m): #f_i\n",
    "    return [np.power((tc - t), m) for t in Series_300[0]]\n",
    "\n",
    "def gi(tc, m, w): #g_i\n",
    "    return [np.power((tc - t), m) * np.cos(w * np.log(tc - t)) for t in Series_300[0]]\n",
    "\n",
    "def hi(tc, m, w): #h_i\n",
    "    return [np.power((tc - t), m) * np.sin(w * np.log(tc - t)) for t in Series_300[0]]\n",
    "\n",
    "def fi2(tc, m): #f_i^2\n",
    "    return np.power(fi(tc, m), 2)\n",
    "\n",
    "def gi2(tc, m, w): #g_i^2\n",
    "    return np.power(gi(tc, m, w), 2)\n",
    "\n",
    "def hi2(tc, m, w): #h_i^2\n",
    "    return np.power(hi(tc, m, w), 2)\n",
    "\n",
    "def figi(tc, m, w): #h_i g_i\n",
    "    return np.multiply(fi(tc, m), gi(tc, m, w))\n",
    "\n",
    "def fihi(tc, m, w): #f_i h_i\n",
    "    return np.multiply(fi(tc, m), hi(tc, m, w))\n",
    "\n",
    "def gihi(tc, m, w): #g_i h_i\n",
    "    return np.multiply(gi(tc, m, w), hi(tc, m, w))\n",
    "\n",
    "def yifi(tc, m): #y_i f_i\n",
    "    return np.multiply(yi(), fi(tc, m))\n",
    "\n",
    "def yigi(tc, m, w): #y_i g_i\n",
    "    return np.multiply(yi(), gi(tc, m, w))\n",
    "\n",
    "def yihi(tc, m, w): #y_i h_i\n",
    "    return np.multiply(yi(), hi(tc, m, w))\n",
    "\n",
    "def lppl(t, tc, m, w, a, b, c1, c2):\n",
    "    return a + np.power(tc - t, m) * (b + ((c1 * np.cos(w * np.log(tc - t))) + (c2 * np.sin(w * np.log(tc - t)))))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This function is the target function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "def delta2(x):\n",
    "    tc = x[0]\n",
    "    m  = x[1]\n",
    "    w  = x[2]\n",
    "    \n",
    "    lin_vals = matrix_equation(tc, m, w)\n",
    "    \n",
    "    a  = lin_vals[0] \n",
    "    b  = lin_vals[1]\n",
    "    c1 = lin_vals[2] \n",
    "    c2 = lin_vals[3]\n",
    "    \n",
    "    delta = [lppl(t, tc, m, w, a, b, c1, c2) for t in Series_300[0]]\n",
    "    delta = np.subtract(delta, Series_300[1])\n",
    "    delta = np.power(delta, 2)\n",
    "   \n",
    "    return np.sum(delta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This part is to list the equation :\n",
    "\n",
    "$$\n",
    "\\begin{pmatrix}\n",
    "        N & \\sum{f_i} & \\sum{g_i} & \\sum{h_i}\\\\ \n",
    "        \\sum{f_i} & \\sum{f_i^{2}} & \\sum{f_i g_i} & \\sum{f_i h_i}\\\\\n",
    "        \\sum{g_i} & \\sum{f_i g_i} & \\sum{g_i^{2}} & \\sum{g_i h_i}\\\\\n",
    "        \\sum{h_i} & \\sum{f_i h_i} & \\sum{g_i h_i} & \\sum{h_i^{2}}\\\\\n",
    "    \\end{pmatrix}\n",
    "    \\begin{pmatrix}\n",
    "        \\hat{A}\\\\ \n",
    "        \\hat{B}\\\\\n",
    "        \\hat{C_1}\\\\\n",
    "        \\hat{C_2}\\\\\n",
    "    \\end{pmatrix}\n",
    "    =\n",
    "    \\begin{pmatrix}\n",
    "        \\sum{y_i}\\\\ \n",
    "        \\sum{y_i f_i}\\\\\n",
    "        \\sum{y_i g_i}\\\\\n",
    "        \\sum{y_i h_i}\\\\\n",
    "    \\end{pmatrix}\n",
    "    \\\n",
    "$$\n",
    "\n",
    "The main function is `np.linalg.solve`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def matrix_equation(tc, m, w):\n",
    "    N  = tLen\n",
    "    fi = np.sum(fi(tc, m))\n",
    "    gi = np.sum(gi(tc, m, w))\n",
    "    hi = np.sum(hi(tc, m, w))\n",
    "    fi2 = np.sum(fi2(tc, m))\n",
    "    gi2 = np.sum(gi2(tc, m, w))\n",
    "    hi2= np.sum(hi2(tc, m, w))\n",
    "    figi = np.sum(figi(tc, m, w))\n",
    "    fihi = np.sum(fihi(tc, m, w))\n",
    "    gihi = np.sum(gihi(tc, m, w))\n",
    "    \n",
    "yi = np.sum(yi())\n",
    "    yifi = np.sum(yifi(tc, m))\n",
    "    yigi = np.sum(yigi(tc, m, w))\n",
    "    yihi = np.sum(yihi(tc, m, w))\n",
    "    \n",
    "    matrix_1 = np.matrix([\n",
    "        [N,  fi,       gi,       hi      ],\n",
    "        [fi, fi2,      figi,     fihi    ],\n",
    "        [gi, figi,     gi2,      gihi    ],\n",
    "        [hi, fihi,     gihi,     hi2     ]])\n",
    "    \n",
    "    matrix_2 = np.matrix([\n",
    "        [yi],\n",
    "        [yifi],\n",
    "        [yigi],\n",
    "        [yihi]])\n",
    "    \n",
    "    product = np.linalg.solve(matrix_1, matrix_2)\n",
    "    \n",
    "    return [i[0] for i in product.tolist()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "the Usage of scipy.optimize.minize\n",
    "\n",
    "reference： https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html\n",
    "\n",
    "\n",
    "scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)\n",
    "\n",
    "|method|reference|\n",
    "|--|--|\n",
    "‘Nelder-Mead’|https://docs.scipy.org/doc/scipy/reference/optimize.minimize-neldermead.html#optimize-minimize-neldermead\n",
    "‘Powell’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html#optimize-minimize-powell\n",
    "‘CG’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cg.html#optimize-minimize-cg\n",
    "‘BFGS’| https://docs.scipy.org/doc/scipy/reference/optimize.minimize-bfgs.html#optimize-minimize-bfgs\n",
    "‘Newton-CG’|https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-newtoncg\n",
    "‘L-BFGS-B’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-lbfgsb\n",
    "‘TNC’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-tnc\n",
    "‘COBYLA’| https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-cobyla\n",
    "‘SLSQP’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-slsqp\n",
    "‘trust-constr’|https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-trustconstr\n",
    "‘dogleg’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-dogleg\n",
    "‘trust-ncg’ |https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-trust-ncg\n",
    "‘trust-exact’| https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-exact\n",
    "‘trust-krylov’| https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html#optimize-minimize-trustkrulov\n",
    "\n",
    "Depending on the different method and initial value, some of the optimizer will be unsuccessful as the solution does not converge, I have tried the Nelder-Mead and BFGS method.\n",
    "\n",
    "The first step is to initialize the value of non-linear parameters and result. The range of initial value comes from the reference paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " final_simplex: (array([[3.23820000e+03, 5.48581980e-01, 1.10749903e+01],\n",
      "       [3.23820000e+03, 5.48581980e-01, 1.10749903e+01],\n",
      "       [3.23820000e+03, 5.48581980e-01, 1.10749903e+01],\n",
      "       [3.23820000e+03, 5.48581980e-01, 1.10749903e+01]]), array([nan, nan, nan, nan]))\n",
      "           fun: nan\n",
      "       message: 'Maximum number of function evaluations has been exceeded.'\n",
      "          nfev: 604\n",
      "           nit: 121\n",
      "        status: 1\n",
      "       success: False\n",
      "             x: array([3.23820000e+03, 5.48581980e-01, 1.10749903e+01])\n",
      "Success: False\n",
      "Message: Maximum number of function evaluations has been exceeded.\n"
     ]
    }
   ],
   "source": [
    "#failed case\n",
    "solution_count = 0\n",
    "solutions = []\n",
    "\n",
    "tc = random.uniform(tLen*0.7, tLen*0.7)\n",
    "m = random.uniform(0.1, 0.9)\n",
    "w = random.uniform(6, 13)\n",
    "# params to pass to scipy.optimize\n",
    "cofs = minimize(fun=delta2, x0=[tc, m, w], method='Nelder-Mead')\n",
    "print(cofs)\n",
    "\n",
    "solutions.append({'fit': delta2(cofs.x),'cof': cofs.x})\n",
    "\n",
    "print(\"Success: {}\\nMessage: {}\".format(cofs.success, cofs.message))    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      fun: nan\n",
      " hess_inv: array([[1, 0, 0],\n",
      "       [0, 1, 0],\n",
      "       [0, 0, 1]])\n",
      "      jac: array([nan, nan, nan])\n",
      "  message: 'NaN result encountered.'\n",
      "     nfev: 4\n",
      "      nit: 0\n",
      "     njev: 1\n",
      "   status: 3\n",
      "  success: False\n",
      "        x: array([3.99373535e+03, 2.41648727e-01, 9.56172122e+00])\n",
      "Success: False\n",
      "Message: NaN result encountered.\n"
     ]
    }
   ],
   "source": [
    "#failed case\n",
    "solution_count = 0\n",
    "solutions = []\n",
    "tc = random.uniform(tLen*0.7, tLen*0.7)\n",
    "m = random.uniform(0.1, 0.9)\n",
    "w = random.uniform(6, 13)\n",
    "# params to pass to scipy.optimize\n",
    "cofs = minimize(fun=delta2, x0=[tc, m, w], method='BFGS')\n",
    "print(cofs)\n",
    "\n",
    "solutions.append({'fit': delta2(cofs.x),'cof': cofs.x})\n",
    "\n",
    "print(\"Success: {}\\nMessage: {}\".format(cofs.success, cofs.message))    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " final_simplex: (array([[ 5.92379450e+03, -9.38597364e-01,  9.02479223e+00],\n",
      "       [ 5.92379441e+03, -9.38597348e-01,  9.02479188e+00],\n",
      "       [ 5.92379450e+03, -9.38597420e-01,  9.02479225e+00],\n",
      "       [ 5.92379447e+03, -9.38597372e-01,  9.02479217e+00]]), array([4.09832967e+10, 4.09832967e+10, 4.09832967e+10, 4.09832967e+10]))\n",
      "           fun: 40983296744.5342\n",
      "       message: 'Optimization terminated successfully.'\n",
      "          nfev: 310\n",
      "           nit: 157\n",
      "        status: 0\n",
      "       success: True\n",
      "             x: array([ 5.92379450e+03, -9.38597364e-01,  9.02479223e+00])\n",
      "[{'fit': nan, 'cof': array([3.99373535e+03, 2.41648727e-01, 9.56172122e+00])}, {'fit': 40983296744.5342, 'cof': array([ 5.92379450e+03, -9.38597364e-01,  9.02479223e+00])}]\n"
     ]
    }
   ],
   "source": [
    "solution_count = 0\n",
    "solutions = []\n",
    "tc = random.uniform(tLen*0.7, tLen*0.7)\n",
    "m = random.uniform(0.1, 0.9)\n",
    "w = random.uniform(6, 13)\n",
    "\n",
    "cofs = minimize(fun=delta2, x0=[tc, m, w], method='Nelder-Mead')\n",
    "        \n",
    "print(cofs)\n",
    "\n",
    "solutions.append({'fit': delta2(cofs.x),'cof': cofs.x})\n",
    "        \n",
    "print(solutions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### The next step is drow the graph of LPPL function and the real situation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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wO8AnHOHnXN7O/jIZ4BHojI6EREREem+E+fC8JPg/Lu982MuDO9zKx73ylVPA857cWh238D1478axUGKREc4MzgjgJ3A783sHTO7z8zaTLlhZn2AM4DHg6od8LyZLTazK9rrxMyuMLO3zeztnTt3duFXEBEREZEOFZTBf82H0afB2T/3fsJxzi+88vHLA/exoK+P1R9FdZgi0RBOgJMGTAHucs5NBg4C322n7TnA6y2Wp53onJsCnAlcY2Ynt/VB59y9zrmpzrmpJSUl4f8GIiIiIhIeM5j6pfD3zfQdFnreMsAZdVr0xiYSJeEEOFuALc65t/zzx/ACnrZcQovlac65rX65A/grcHxkQxURERGRHpXRYtFOywBnyhd6djwiYeg0wHHObQM+NLOj/KrZwHst2/l7dWYATwbV5ZhZXvMxMAdYEYVxi4iIiEisFY0KPc8dAE0NgXO94FN6obQw230NeNjMMoANwBfN7EoA55y/W40LgOedcweDPlcK/NW8hz8N+JNzbkFURi4iIiIisZWaHnqekuK9G0ekFwsrwHHOLQVapni+u0WbB4AHWtRtwEsrLSIiIiKJqGg07F4bOB80OX5jEQlDuO/BEREREZEj0VVvhJ5rBkd6OQU4IiIiItK+tAyvLK7wytRwdziIxIeeUBERERHp2HXLILsw3qMQCYsCHBERERHpWL/hoecnfhMGTojLUEQ6owBHRERERLrm1HnxHoFIu7QHR0REREREkoYCHBERERERSRoKcEREREREJGkowBERERERkaShAEdERERERJKGAhwREREREUkaCnBERERERCRpKMAREREREZGkoQBHRERERESShgIcERERERFJGgpwREREREQkaSjAERERERGRpKEAR0REREREkoYCHBERERERSRoKcEREREREJGkowBERERERkaShAEdERERERJKGAhwREREREUka5pyL9xhaMbOdwOZ4j8NXDOyK9yAk6ek5k1jTMyY9Qc+ZxJqeMQk2zDlX0rKyVwY4vYmZve2cmxrvcUhy03MmsaZnTHqCnjOJNT1jEg4tURMRERERkaShAEdERERERJKGApzO3RvvAcgRQc+ZxJqeMekJes4k1vSMSae0B0dERERERJKGZnBERERERCRpKMDpgJmdYWZrzGydmX033uORxGFm95vZDjNbEVRXaGYvmNlav+zn15uZ3eE/Z8vNbErQZy7z2681s8vi8btI72RmQ8xsoZm9Z2Yrzew6v17PmUSNmWWZ2SIzW+Y/Zz/260eY2Vv+8/R/Zpbh12f65+v868OD7nWjX7/GzE6P068kvZSZpZrZO2Y23z/XMyYRU4DTDjNLBe4EzgTGAZ8xs3HxHZUkkAeAM1rUfRd40Tk3GnjRPwfvGRvt/1wB3AXeF1VgHnACcDwwr/nLqgjQAFzvnBsHTAOu8f8fpedMoqkOOMU5NxGYBJxhZtOAW4GfO+dGAXuAy/32lwN7/Pqf++3wn81LgKPx/t/4G//vWZFm1wGrgs71jEnEFOC073hgnXNug3PuMPAocF6cxyQJwjn3KlDVovo84A/+8R+A84PqH3SeN4G+ZjYQOB14wTlX5ZzbA7xA66BJjlDOuUrn3BL/uBrvi8Fg9JxJFPnPywH/NN3/ccApwGN+fcvnrPn5ewyYbWbm1z/qnKtzzm0E1uH9PSuCmZUBZwH3+eeGnjHpBgU47RsMfBh0vsWvE4lUqXOu0j/eBpT6x+09a3oGJSz+Eo3JwFvoOZMo85cOLQV24AXA64G9zrkGv0nwM/Of58m/vg8oQs+ZdOwXwLeBJv+8CD1j0g0KcETiwHnpC5XCULrNzHKBx4G5zrn9wdf0nEk0OOcanXOTgDK8fxEfE98RSTIxs7OBHc65xfEeiyQPBTjt2woMCTov8+tEIrXdXxKEX+7w69t71vQMSofMLB0vuHnYOfeEX63nTGLCObcXWAh8DG+JY5p/KfiZ+c/z5F8vAHaj50zaNx0418w24W0HOAX4JXrGpBsU4LTv38BoP4tHBt7GtafiPCZJbE8BzRmqLgOeDKr/gp/lahqwz19i9Bwwx8z6+Zu+5/h1Is1r1H8HrHLO3R50Sc+ZRI2ZlZhZX/84GzgNb7/XQuBCv1nL56z5+bsQeMmfSXwKuMTPgDUCL9nFoh75JaRXc87d6Jwrc84Nx/uu9ZJz7rPoGZNuSOu8yZHJOddgZtfi/UWfCtzvnFsZ52FJgjCzR4CZQLGZbcHLUvUT4M9mdjmwGfi03/xZ4BN4GyIPAV8EcM5VmdnNeME2wE3OuZaJC+TINR34PPCuvz8C4HvoOZPoGgj8wc9GlQL82Tk338zeAx41s1uAd/CCbfzyITNbh5do5RIA59xKM/sz8B5eBsBrnHONPfy7SGL5DnrGJELmBb0iIiIiIiKJT0vUREREREQkaSjAERERERGRpKEAR0REREREkoYCHBERERERSRoKcEREREREJGkowBERkbgws0YzW2pmK81smZldb2Yd/r1kZsPN7NKeGqOIiCQeBTgiIhIvNc65Sc65o/FeIHkm3jujOjIcUIAjIiLt0ntwREQkLszsgHMuN+h8JN4LR4uBYcBDQI5/+Vrn3Btm9iYwFtgI/AG4A+/lpjOBTOBO59w9PfZLiIhIr6MAR0RE4qJlgOPX7QWOAqqBJudcrZmNBh5xzk01s5nADc65s/32VwD9nXO3mFkm8DpwkXNuYw/+KiIi0oukxXsAIiIibUgHfm1mk4BGoKKddnOACWZ2oX9eAIzGm+EREZEjkAIcERHpFfwlao3ADry9ONuBiXj7RWvb+xjwNefccz0ySBER6fWUZEBEROLOzEqAu4FfO2/tdAFQ6ZxrAj4PpPpNq4G8oI8+B1xlZun+fSrMLAcRETliaQZHRETiJdvMluItR2vASypwu3/tN8DjZvYFYAFw0K9fDjSa2TLgAeCXeJnVlpiZATuB83tm+CIi0hspyYCIiIiIiCQNLVETEREREZGkoQBHRERERESShgIcERERERFJGgpwREREREQkaSjAERERERGRpKEAR0REREREkoYCHBERERERSRoKcEREREREJGn8f+FxuEwZQQGWAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in solutions:\n",
    "    tc = i[\"cof\"][0]\n",
    "    m =  i[\"cof\"][1]\n",
    "    w =  i[\"cof\"][2]\n",
    "    \n",
    "    lin_vals = matrix_equation(tc, m, w)\n",
    "    \n",
    "    a  = lin_vals[0] \n",
    "    b  = lin_vals[1]\n",
    "    c1 = lin_vals[2] \n",
    "    c2 = lin_vals[3]\n",
    "    lppl1 = [lppl(t, tc, m, w, a, b, c1, c2) for j in Series_300[0]]\n",
    "    \n",
    "    price_data = Series_300[1]\n",
    "    \n",
    "    data = pd.DataFrame({'Date': Series_300[0],\n",
    "        'LPPL Fit': lppl1,\n",
    "        'SH300': np.log(price_data),\n",
    "    })\n",
    "    data = data.set_index('Date')\n",
    "    data.plot(figsize=(14,8))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
